<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //yield可以产出一个值，不过在第一次调用next()的时候，在yield这里会暂停，所以“传入-111”不会输出，
        //并且也不会将产出的结果返回给res1，第二次执行next()，就可以将产出值返回给函数外的res1，然后输出第一条语句，
        //接着再输入函数内部的第一条语句，以此类推...
        function* gen() {
            let res1 = yield "aaa"
            console.log("gen内部", res1)
            let res2 = yield "bbb"
            console.log("gen内部", res2)
        }
        let g = gen()
        let res1 = g.next("传入-111")
        console.log(res1)
        let res2 = g.next("传入-222")
        console.log(res2)
        let res3 = g.next("传入-333")
        console.log(res3)
    </script>
</body>

</html>